Flexible band offset mode in sample adaptive offset in HEVC

ABSTRACT

A Flexible Band Offset (FBO) apparatus and method of performing Sample Adaptive Offset (SAO) filtering within encoders and decoders, such as according to the High Efficiency Video Coding (HEVC) standard, and similarly configured coding devices. The number of Band Offset (BO) modes and the number of necessary offsets is reduced. The invention beneficially provides simpler coding, reduces temporary buffer size requirements, and can yield a small performance gain over existing SAO techniques of HEVC test model HM 5.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a nonprovisional of U.S. provisional patentapplication Ser. No. 61/589,127 filed on Jan. 20, 2012, incorporatedherein by reference in its entirety.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A COMPACT DISC

Not Applicable

NOTICE OF MATERIAL SUBJECT TO COPYRIGHT PROTECTION

A portion of the material in this patent document is subject tocopyright protection under the copyright laws of the United States andof other countries. The owner of the copyright rights has no objectionto the facsimile reproduction by anyone of the patent document or thepatent disclosure, as it appears in the United States Patent andTrademark Office publicly available file or records, but otherwisereserves all copyright rights whatsoever. The copyright owner does nothereby waive any of its rights to have this patent document maintainedin secrecy, including without limitation its rights pursuant to 37C.F.R. §1.14.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention pertains generally to video encoding and decoding, andmore particularly to Sample Adaptive Offset (SAO) within high-efficiencyvideo coding (HEVC) systems.

2. Description of Related Art

Demand continues for increased video resolution and associated codingsystems which optimize compression of these videos, while being scalableacross the range of target resolutions. The latest efforts in thisdirection by the Joint Collaborative Team on Video Coding (JCT-VC) ofITU-T and ISO/IEC MPEG aim to support ultra high resolution and mobileapplications as well as reduce the bitrate compressed in H.264/AVCcoding systems, within a High Efficiency Video Coding (HEVC) standard.

Unlike many previous coding systems, HEVC divides frames into CodingTree Blocks (CTBs) that can be further subdivided into Coding Units(CUs), such as using quadtree segmentation. A coding unit (CU) may havevariable sizes depending on video content toward achieving a desiredcoding efficiency. CUs typically include a luminance component Y and twochroma components, U and V. The size of U and V components relate to thenumber of samples, and can be the same or different from that of the Ycomponent, as depends upon the video sampling format. The CUs can befurther subdivided into Prediction Unit (PU) partitions duringintra-prediction and inter-prediction as well as Transform Units (TUs)defined for transform and quantization. Transform units (TU) generallyrefer to a block of residual data to which a transform is applied whengenerating transform coefficients.

HEVC introduces new elements over current video coding systems, such asH.264/AVC, and similar codecs. For example, although HEVC still involvesmotion compensated inter predictions, transforms, and entropy coding, itutilizes either arithmetic coding or variable length coding. Inaddition, following the deblocking filter is a new Sample AdaptiveOffset (SAO) filter. The SAO unit considers the entire frame as ahierarchical quadtree. Quadrants in this quadtree are activated by theSAO transmitting syntax values which each represent an intensity band ofpixel values referred to as band offset (BO) or the difference comparedto neighboring pixel intensities referred to as edge offset (EO). Foreach type in SAO (BO and EO), transmitted offset values referred to asSAO offset will be added to the corresponding pixels.

In the HM 5.0 version of HEVC, there are four (4) EO (Edge Offset) modesand two (2) BO (Band Offset) modes for Sample Adaptive Offset (SAO). EOmodes transmit four (4) offsets while BO modes transmit sixteen (16)offsets. Therefore, a temporary buffer is needed at the decoder to storeSAO offsets for each partition until the image (or parts of it) aredecoded.

BRIEF SUMMARY OF THE INVENTION

The present invention is directed at an inventive Sample Adaptive Offset(SAO) method within HEVC and similar encoders and/or decoders.Specifically, a Flexible Band Offset (FBO) method of SAO is taught whichreduces the number of Band Offset (BO) modes from two (2) to one (1) andreduces the number of SAO offsets for BO from sixteen (16) to four (4).Accordingly, inventive embodiments provide four (4) SAO offsetsregardless of the SAO mode (EO or BO). Since the maximum number of SAOoffsets is reduced (from 16 to 4), the temporary buffer required at thedecoder to hold the SAO parameters is beneficially reduced byapproximately 75%. Simulation results illustrate obtaining a smallperformance gain, in particular for chroma components, in response toutilizing the inventive method.

Further aspects of the invention will be brought out in the followingportions of the specification, wherein the detailed description is forthe purpose of fully disclosing preferred embodiments of the inventionwithout placing limitations thereon.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

The invention will be more fully understood by reference to thefollowing drawings which are for illustrative purposes only:

FIG. 1 is a schematic of a video encoder according to an embodiment ofthe present invention.

FIG. 2 is a schematic of a video decoder according to an embodiment ofthe present invention.

FIG. 3A is a data diagram of conventional SAO BO mode utilized inexisting HEVC coding under test model HM 5.0.

FIG. 3B is a data diagram of SAO with Flexible Band Offsets (FBO) SAOfiltering according to an embodiment of the present invention.

FIG. 4A and FIG. 4B are flow diagrams of a Flexible Band Offset (FBO)method of performing Sample Adaptive Offsets within an HEVC codingsystem according to an embodiment of the present invention within anencoder (FIG. 4A) and a decoder (FIG. 4B).

DETAILED DESCRIPTION OF THE INVENTION

The inventive flexible band offset (FBO) method of the invention can beimplemented in both encoder and decoder apparatus as described in thefollowing paragraphs.

FIG. 1 illustrates an example embodiment of a coding apparatuscomprising an encoder 10 according to the invention for performing FBOmodes within sample adaptive offsets (SAO) following the deblockingfilter.

The encoder 10 is shown with encoding elements 12 executed by acomputing means 46 exemplified with one or more processors 48, alongwith one or more memory devices 50. It will be appreciated that elementsof the present invention can be implemented as programming stored on amedia, which can be accessed for execution by a CPU for an encoderand/or decoder.

In the example, video frame input 14 is shown along with referenceframes 16 and frame output 18. Inter-prediction 20 is depicted withmotion estimation (ME) 22 and motion compensation (MC) 24.Intra-prediction 26 is shown with switching 25 depicted betweeninter-prediction and intra-prediction. A sum junction 28 is shown withoutput to a forward transform 30 which is performed based on thepredictions to generate transform coefficients of residual data.Quantization of the transform coefficients is performed at quantizationstage 32, which is followed by entropy encoding 34. Inverse quantization36 and inverse transform 38 operations are shown coupled to a summingjunction 40.

Output of summing junction 40, is a decoded video signal which isreceived by a deblocking filter 42, the Sample Adaptive Offset (SAO)filter with inventive FBO modes 44 according to the present invention toproduce an output 18.

FIG. 2 illustrates an example embodiment 70 of a decoder, shown withprocess blocks 72 and an associated processing means 102. It will benoted that the decoder is substantially a subset of the elementscontained in encoder 10 of FIG. 1, operating on reference frames 74 andoutputting video signal 100. The decoder blocks receive an encoded videosignal 76 which is processed through entropy decoder 78, inversequantization 80, inverse transform 82, and summing 84 between theinverse transform 82 output and the selection 92 betweeninter-prediction 86 shown with motion compensation 88 and a separateintra-prediction block 90. Output from summing junction 84 is receivedby a deblocking filter 94, followed by SAO module with inventiveFlexible Band Offset (FBO) modes 96 according to the present inventionto produce a video output 98.

It should be appreciated that the decoder can be implemented with aprocessing means 100 which comprises at least one processing device 102and at least one memory 104 for executing programming associated withthe decoding. In addition, it will be noted that elements of the presentinvention can be implemented as programming stored on a media, whereinsaid media can be accessed for execution by processing device (CPU) 102.

It will be recognized that elements of the present invention 10 and 70are implemented for execution by a processing means 46 and 100, such asin response to programming resident in memory 50 and 104 which isexecutable on computer processor (CPU) 48 and 102. In addition, it willbe appreciated that elements of the present invention can be implementedas programming stored on a media, wherein said media can be accessed forexecution by CPU 48 and/or 102.

It should also be appreciated that the above programming is executablefrom the memory which is a tangible (physical) computer readable mediathat is non-transitory in that it does not merely constitute atransitory propagating signal, but is actually capable of retainingprogramming, such as within any desired form and number of static ordynamic memory devices. These memory devices need not be implemented tomaintain data under all conditions (e.g., power fail) to be consideredherein as non-transitory media.

FIG. 3A and FIG. 3B compare current HEVC SAO filter operation (FIG. 3A)with the inventive flexible band offset SAO filter of the currentinvention (FIG. 3B). In FIG. 3A an example is seen of two SAO typesbased on band offset (BO), in which the first type (First Group BO_(—)0)has central bands, and the second type (Second Group BO_(—)1) has sidebands seen on each end of the band structure. Toward reducing sideinformation down to 16 offsets in the conventional SAO, the original 32uniform bands are divided into two groups as seen in the figure, withthe 16 bands in the center assigned to group 1 and the 16 bands on bothsides assigned to group 2. Accordingly, one set of SAO offsets is sentfor the center 16 bands (group 1), and one set of SAO offsets is sentfor the outer 16 bands (group 2).

There has been some discussions of increasing the number of BO modeswith various numbers of offsets. However, this would further complicatethe design. The present invention is directed contrary to such offsetincreases and operates toward simplifying the design, minimizing thetemporary buffer at the decoder, and unifying the number of SAO offsetsfor EO and BO modes. The present invention teaches a method forutilizing only one BO mode with four (4) SAO offsets, thus unifying thenumber of SAO offsets across the SAO modes.

In the present inventive apparatus and method, only a single band offsettype is necessary. The encoder determines four (4) consecutive bands forwhich a SAO offset will be transmitted. It should be appreciated thatthe encoder may pick the four consecutive bands based on most distortionimpact, or may utilize any other desired criterion, without departingfrom the teachings of the present invention. The rest of the bands areassumed to have a zero SAO offset. Since there are 32 possible BO bandsin the current design, the first band for which an SAO offset istransmitted (i.e., first_band) is between 0 to 31. Thus, the encoderuses a 5-bit Fixed Length (FL) code to indicate first_band to thedecoder. The offsets are depicted in FIG. 3B showing first non-zerooffset band, with 4 SAO offsets shown with the dotted lines startingfrom the first non-zero offset band.

After the first non-zero offset band, the four consecutive bands withSAO offsets are determined in response to adding an offset i to thefirst band and using the modulo remainder based on number of BO bandsN_(Bands) such as (first_band+i) % N_(Bands) where iε[0,4). By way ofexample and not limitation, the number of bands N_(Bands) is 32. Thus,the number of possible offsets transmitted for the remaining bands issubstantially reduced, such as in the above example, from sixteen (16)SAO offsets down to four (4) SAO offsets.

FIG. 4A is a summary of an example embodiment of the Flexible BandOffset method for the SAO filter operating in the encoder. Fourconsecutive bands with SAO offsets are determined (selected) at step110, while the remaining bands are assumed to have zero SAO offsets atstep 112. Then a fixed length code is encoded at step 114 for indicatingto a decoder the exact position of this first band. The position of theconsecutive bands with SAO offsets is indicated and each band encodes aSAO offset as per step 116. As a result of the invention, the number ofBO modes are reduced from two to one, while the SAO offsets required forBO is reduced from sixteen to four.

FIG. 4B is a summary of an example embodiment of this Flexible BandOffset method for the SAO filter operating in the decoder. The fixedlength code received from the encoder is decoded to indicate 130 thefirst non-zero offset band. At step 132, SAO offsets for the fourconsecutive bands are decoded. Then the four consecutive band positionsare determined in response to adding SAO offsets, comprising an offseti, which preferably can only assume values from 0 to 3, to the firstband and using the modulo remainder based on number of BO bands, anddecoded SAO offsets are added to corresponding bands at step 134. Theremaining bands other than the four consecutive bands are added withzero SAO offsets at step 136.

Embodiments of the present invention may be described with reference toflowchart illustrations of methods and systems according to embodimentsof the invention, and/or algorithms, formulae, or other computationaldepictions, which may also be implemented as computer program products.In this regard, each block or step of a flowchart, and combinations ofblocks (and/or steps) in a flowchart, algorithm, formula, orcomputational depiction can be implemented by various means, such ashardware, firmware, and/or software including one or more computerprogram instructions embodied in computer-readable program code logic.As will be appreciated, any such computer program instructions may beloaded onto a computer, including without limitation a general purposecomputer or special purpose computer, or other programmable processingapparatus to produce a machine, such that the computer programinstructions which execute on the computer or other programmableprocessing apparatus create means for implementing the functionsspecified in the block(s) of the flowchart(s).

Accordingly, blocks of the flowcharts, algorithms, formulae, orcomputational depictions support combinations of means for performingthe specified functions, combinations of steps for performing thespecified functions, and computer program instructions, such as embodiedin computer-readable program code logic means, for performing thespecified functions. It will also be understood that each block of theflowchart illustrations, algorithms, formulae, or computationaldepictions and combinations thereof described herein, can be implementedby special purpose hardware-based computer systems which perform thespecified functions or steps, or combinations of special purposehardware and computer-readable program code logic means.

Furthermore, these computer program instructions, such as embodied incomputer-readable program code logic, may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable processing apparatus to function in a particular manner,such that the instructions stored in the computer-readable memoryproduce an article of manufacture including instruction means whichimplement the function specified in the block(s) of the flowchart(s).The computer program instructions may also be loaded onto a computer orother programmable processing apparatus to cause a series of operationalsteps to be performed on the computer or other programmable processingapparatus to produce a computer-implemented process such that theinstructions which execute on the computer or other programmableprocessing apparatus provide steps for implementing the functionsspecified in the block(s) of the flowchart(s), algorithm(s), formula(e),or computational depiction(s).

From the discussion above it will be appreciated that the invention canbe embodied in various ways, including the following:

1. An apparatus for sample adaptive offset (SAO) signaling duringentropy encoding and decoding of video, comprising: (a) a video encoderhaving a computer processor; (b) programming executable on said videoencoder computer processor for: (i) receiving a decoded video signalfrom a deblocking filter; (ii) setting a fixed length code within anencoder, for transmission to a decoder, in response to steps comprising:(A) selecting four consecutive bands for which an SAO offset for eachwill be transmitted; (B) assuming remaining bands have zero SAO offsets;(C) encoding a fixed length code indicating extent of offset for a firstnon-zero band offset (BO) of said four consecutive bands; and (D)generating positioning for said four consecutive bands by adding anoffset to said first non-zero band offset (BO) and using the moduloremainder based on number of BO bands and encoding SAO offset for each;(c) a video decoder having a computer processor; (d) programmingexecutable on said video decoder computer processor for: (i) sampleadaptive offset filtering of an encoded video signal based on receivingsaid fixed length code within said video decoder, in response to stepscomprising: (A) determining position of said first band based ondecoding said fixed length code; (B) decoding four SAO offsets for fourconsecutive bands determined during encoding; (C) determining positionof remaining bands in response to adding an offset to said first bandand taking a modulo remainder based on number of BO bands and addingdecoded SAO offsets to them; and (D) adding zero SAO offsets to allremaining bands.

2. The apparatus of any preceding embodiment, wherein said system forencoding and decoding of video operates according to a High EfficiencyVideo Coding (HEVC) standard.

3. The apparatus of any preceding embodiment, wherein said systemrequires only one band offset (BO) type.

4. The apparatus of any preceding embodiment, wherein number of SAOoffsets for said BO bands are reduced from 16 to 4.

5. The apparatus of any preceding embodiment, wherein said reduction ofpossible SAO offsets from 16 to 4 reduces necessary temporary bufferingby approximately 75%.

6. The apparatus of any preceding embodiment, wherein programmingexecutable on said video encoder computer processor is configured fortransmitting thirty two possible BO bands for said first non-zero band.

7. The apparatus of any preceding embodiment, wherein programmingexecutable on said video encoder computer processor is configured forgenerating positioning for the four consecutive bands by adding anoffset i to said first non-zero band and uses a modulo remainder basedon number of BO bands N_(Bands), as (first_band+i) % N_(Bands) whereiε[0,4)

8. An apparatus for sample adaptive offset filtering during videoentropy encoding, comprising: (a) a video encoder having a computerprocessor; (b) programming executable on said video encoder computerprocessor for: (i) receiving a decoded video signal from a deblockingfilter; (ii) setting a fixed length code within an encoder, fortransmission to a decoder, in response to steps comprising: (A)selecting four consecutive bands for which an SAO offset for each willbe transmitted; (B) assuming remaining bands have zero SAO offsets; (C)encoding a fixed length code indicating extent of offset for a firstnon-zero band offset (BO); and (D) generating positioning for said fourconsecutive bands by adding an offset to said first non-zero band offset(BO) and using the modulo remainder based on number of BO bands andencoding SAO offset for each.

9. The apparatus of any preceding embodiment, wherein said programmingexecutable on said video encoder computer processor utilizes a singleband offset (BO) type.

10. The apparatus of any preceding embodiment, wherein programmingexecutable on said video encoder computer processor generates 4 possibleSAO offsets for said consecutive bands which is a reduction compared to16 possible SAO offsets on a conventional HEVC apparatus.

11. The apparatus of any preceding embodiment, wherein said reduction ofSAO offsets reduces necessary temporary buffering by approximately 75%.

12. The apparatus of any preceding embodiment, wherein said programmingexecutable on said video encoder computer processor is configured fortransmitting thirty two possible BO bands for said first non-zero band.

13. The apparatus of any preceding embodiment, wherein said programmingexecutable on said video encoder computer processor generatespositioning for said four consecutive bands by adding an offset i tosaid first non-zero band and determines a modulo remainder based onnumber of BO bands N_(Bands), as (first_band+i) % N_(Bands) whereiε[0,4).

14. An apparatus for sample adaptive offset filtering during videoentropy decoding, comprising: (a) a video decoder having a computerprocessor; (b) programming executable on said video decoder computerprocessor for: (i) sample adaptive offset filtering of video within saidvideo decoder from a received encoded video signal containing a fixedlength code, having steps comprising: (A) determining position of saidfirst non-zero band offset (BO) based on decoding said fixed lengthcode; (B) decoding four SAO offsets for four consecutive bandsdetermined during encoding; (C) determining position of remaining bandsin response to adding an offset to said first non-zero band and taking amodulo remainder based on number of BO bands and adding decoded SAOoffsets to them; and (D) adding zero SAO offsets to all remaining bands.

15. The apparatus of any preceding embodiment, wherein said programmingexecutable on said video decoder computer processor performs sampleadaptive offset filtering requiring only a single band offset (BO) type.

16. The apparatus of any preceding embodiment, wherein programmingexecutable on said video decoder computer processor utilizes 4 possibleSAO offsets for said consecutive bands which is a reduction compared to16 possible SAO offsets on a conventional HEVC apparatus.

17. The apparatus of any preceding embodiment, wherein said reduction ofpossible SAO offsets from 16 to 4 reduces necessary temporary bufferingby approximately 75%.

18. The apparatus of any preceding embodiment, wherein said programmingexecutable on said video decoder computer processor is configured forutilizing thirty two possible BO bands for said first non-zero band.

19. The apparatus of any preceding embodiment, wherein said programmingexecutable on said video decoder computer processor decodes positioninginformation from said encoded video signal for remaining bands having anoffset i added to said first non-zero band and determines a moduloremainder based on number of BO bands N_(Bands), as (first_band+i) %N_(Bands) where iε[0,4).

20. The apparatus of any preceding embodiment, wherein said apparatusfor sample adaptive offset filtering during video entropy decodingoperates according to a High Efficiency Video Coding (HEVC) standard.

Although the description above contains many details, these should notbe construed as limiting the scope of the invention but as merelyproviding illustrations of some of the presently preferred embodimentsof this invention. Therefore, it will be appreciated that the scope ofthe present invention fully encompasses other embodiments which maybecome obvious to those skilled in the art, and that the scope of thepresent invention is accordingly to be limited by nothing other than theappended claims, in which reference to an element in the singular is notintended to mean “one and only one” unless explicitly so stated, butrather “one or more.” All structural and functional equivalents to theelements of the above-described preferred embodiment that are known tothose of ordinary skill in the art are expressly incorporated herein byreference and are intended to be encompassed by the present claims.Moreover, it is not necessary for a device or method to address each andevery problem sought to be solved by the present invention, for it to beencompassed by the present claims. Furthermore, no element, component,or method step in the present disclosure is intended to be dedicated tothe public regardless of whether the element, component, or method stepis explicitly recited in the claims. No claim element herein is to beconstrued under the provisions of 35 U.S.C. 112, sixth paragraph, unlessthe element is expressly recited using the phrase “means for.”

What is claimed is:
 1. An apparatus for sample adaptive offset (SAO) signaling during entropy encoding and decoding of video, comprising: (a) a video encoder having a computer processor and memory storing programming; (b) programming executable on said video encoder computer processor for: (i) receiving a decoded video signal from a deblocking filter; (ii) setting a fixed length code within an encoder, for transmission to a decoder, in response to steps comprising: (A) selecting four consecutive bands for which an SAO offset for each will be transmitted; (B) assuming remaining bands have zero SAO offsets; (C) encoding a fixed length code indicating extent of offset for a first non-zero band offset (BO) of said four consecutive bands; and (D) generating positioning for said four consecutive bands by adding an offset to said first non-zero band offset (BO) and using the modulo remainder based on number of BO bands and encoding SAO offset for each; (c) a video decoder having a computer processor and memory storing programming; (d) programming executable on said video decoder computer processor for: (i) sample adaptive offset filtering of an encoded video signal based on receiving said fixed length code within said video decoder, in response to steps comprising: (A) determining position of said first band based on decoding said fixed length code; (B) decoding four SAO offsets for four consecutive bands determined during encoding; (C) determining position of remaining bands in response to adding an offset to said first band and taking a modulo remainder based on number of BO bands and adding decoded SAO offsets to them; and (D) adding zero SAO offsets to all remaining bands.
 2. The apparatus recited in claim 1, wherein said system for encoding and decoding of video operates according to a High Efficiency Video Coding (HEVC) standard.
 3. The apparatus recited in claim 1, wherein said system requires only one band offset (BO) type.
 4. The apparatus recited in claim 1, wherein number of SAO offsets for said BO bands are reduced from 16 to
 4. 5. The apparatus recited in claim 4, wherein said reduction of possible SAO offsets from 16 to 4 reduces necessary temporary buffering by approximately 75%.
 6. The apparatus recited in claim 1, wherein programming executable on said video encoder computer processor is configured for transmitting thirty two possible BO bands for said first non-zero band.
 7. The apparatus recited in claim 1, wherein programming executable on said video encoder computer processor is configured for generating positioning for the four consecutive bands by adding an offset i to said first non-zero band and uses a modulo remainder based on number of BO bands N_(Bands), as (first_band+i) % N_(Bands) where iε[0,4).
 8. An apparatus for sample adaptive offset filtering during video entropy encoding, comprising: (a) a video encoder having a computer processor and memory storing programming; (b) programming executable on said video encoder computer processor for: (i) receiving a decoded video signal from a deblocking filter; (ii) setting a fixed length code within an encoder, for transmission to a decoder, in response to steps comprising: (A) selecting four consecutive bands for which an SAO offset for each will be transmitted; (B) assuming remaining bands have zero SAO offsets; (C) encoding a fixed length code indicating extent of offset for a first non-zero band offset (BO); and (D) generating positioning for said four consecutive bands by adding an offset to said first non-zero band offset (BO) and using the modulo remainder based on number of BO bands and encoding SAO offset for each.
 9. The apparatus recited in claim 8, wherein said programming executable on said video encoder computer processor utilizes a single band offset (BO) type.
 10. The apparatus recited in claim 8, wherein programming executable on said video encoder computer processor generates 4 possible SAO offsets for said consecutive bands which is a reduction compared to 16 possible SAO offsets on a conventional HEVC apparatus.
 11. The apparatus recited in claim 10, wherein said reduction of SAO offsets reduces necessary temporary buffering by approximately 75%.
 12. The apparatus recited in claim 8, wherein said programming executable on said video encoder computer processor is configured for transmitting thirty two possible BO bands for said first non-zero band.
 13. The apparatus recited in claim 8, wherein said programming executable on said video encoder computer processor generates positioning for said four consecutive bands by adding an offset i to said first non-zero band and determines a modulo remainder based on number of BO bands N_(Bands), as (first_band+i) % N_(Bands) where iε[0,4).
 14. An apparatus for sample adaptive offset filtering during video entropy decoding, comprising: (a) a video decoder having a computer processor and memory storing programming; (b) programming executable on said video decoder computer processor for: (i) sample adaptive offset filtering of video within said video decoder from a received encoded video signal containing a fixed length code, having steps comprising: (A) determining position of said first non-zero band offset (BO) based on decoding said fixed length code; (B) decoding four SAO offsets for four consecutive bands determined during encoding; (C) determining position of remaining bands in response to adding an offset to said first non-zero band and taking a modulo remainder based on number of BO bands and adding decoded SAO offsets to them; and (D) adding zero SAO offsets to all remaining bands.
 15. The apparatus recited in claim 14, wherein said programming executable on said video decoder computer processor performs sample adaptive offset filtering requiring only a single band offset (BO) type.
 16. The apparatus recited in claim 14, wherein programming executable on said video decoder computer processor utilizes 4 possible SAO offsets for said consecutive bands which is a reduction compared to 16 possible SAO offsets on a conventional HEVC apparatus.
 17. The apparatus recited in claim 16, wherein said reduction of possible SAO offsets from 16 to 4 reduces necessary temporary buffering by approximately 75%.
 18. The apparatus recited in claim 14, wherein said programming executable on said video decoder computer processor is configured for utilizing thirty two possible BO bands for said first non-zero band.
 19. The apparatus recited in claim 14, wherein said programming executable on said video decoder computer processor decodes positioning information from said encoded video signal for remaining bands having an offset i added to said first non-zero band and determines a modulo remainder based on number of BO bands N_(Bands), as (first_band+i) % N_(Bands) where iε[0,4).
 20. The apparatus recited in claim 14, wherein said apparatus for sample adaptive offset filtering during video entropy decoding operates according to a High Efficiency Video Coding (HEVC) standard. 